HAL HSEM function migration

This section provides information about the HAL HSEM function migration.

HAL HSEM enables event notifications

HAL1

HAL2

HAL_HSEM_ActivateNotification(uint32_t SemMask)
HAL_HSEM_EnableFreeNotificationIT(hal_hsem_t semaphore)

Related use case: Use case: Synchronization between two processes


HAL HSEM disables event notifications

HAL1

HAL2

HAL_HSEM_DeactivateNotification(uint32_t SemMask)
HAL_HSEM_DisableFreeNotificationIT(hal_hsem_t semaphore)

Related use case: Use case: Synchronization between two processes


HAL HSEM take fast without waiting

HAL1

HAL2

HAL_HSEM_FastTake(uint32_t SemID)
HAL_HSEM_FastTake(hal_hsem_t semaphore)

Related use case: Use case: FastTake/ReleaseAll all semaphores at once with correct Key


HAL HSEM get the clear key

HAL1

HAL2

HAL_HSEM_GetClearKey(void)
HAL_HSEM_GetClearKey(void)

Related use case: Use case: FastTake/ReleaseAll all semaphores at once with correct Key


HAL HSEM checks semaphore status

HAL1

HAL2

uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID)
hal_hsem_status_t HAL_HSEM_IsTaken(hal_hsem_t semaphore)

Related use case: Use case: Take/Release a semaphore


HAL HSEM release semaphore

HAL1

HAL2

HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID)
HAL_HSEM_Release(hal_hsem_t semaphore, uint32_t process_id)

Related use case: Use case: Take/Release a semaphore


HAL HSEM release all semaphores

HAL1

HAL2

HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID);
HAL_HSEM_ReleaseAll(uint32_t clear_key, hal_hsem_lockid_t lock_id);

Related use case: Use case: FastTake/ReleaseAll all semaphores at once with correct Key


HAL HSEM set the clear key

HAL1

HAL2

HAL_HSEM_SetClearKey(uint32_t Key)
HAL_HSEM_SetClearKey(uint32_t clear_key)

Related use case: Use case: FastTake/ReleaseAll all semaphores at once with correct Key


HAL HSEM take semaphore

HAL1

HAL2

HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID)
HAL_HSEM_Take(hal_hsem_t semaphore, uint32_t process_id)

Related use case: Use case: Take/Release a semaphore